﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Ext.Net.MVC;
using Sharp.DataTransferObject;

namespace Sharp.Web.Models
{
    public class EmployeeModel
    {
        [HiddenInput]
        public Guid Id { get; set; }

        /// <summary>
        /// 工号
        /// </summary>
        [Display(Name = "工号")]
        public string Number { get; set; }
        /// <summary>
        /// 全名
        /// </summary>
        [Display(Name = "全名")]
        public string FullName { get; set; }
        /// <summary>
        /// 姓名简拼
        /// </summary>
        [Display(Name = "简拼")]
        public string Jianpin { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        [Display(Name = "性别")]
        public MasterDataDTO Gender { get; set; }
        /// <summary>
        /// 手机
        /// </summary>
        [Display(Name = "手机"), DataType(DataType.PhoneNumber)]
        public string Phone { get; set; }
        /// <summary>
        /// 传真
        /// </summary>
        [Display(Name = "传真")]
        public string Fax { get; set; }
        /// <summary>
        /// 电子邮件
        /// </summary>
        [Display(Name = "电子邮件"), DataType(DataType.EmailAddress)]
        public string Email { get; set; }
        /// <summary>
        /// 家庭地址
        /// </summary>
        [Display(Name = "家庭地址")]
        public string Address { get; set; }


        /// <summary>
        /// 户籍
        /// </summary>
        [Display(Name = "户籍")]
        public string RegisteredResidence { get; set; }
        /// <summary>
        /// 参加工作
        /// </summary>
        [Display(Name = "参加工作")]
        public string WorkDate { get; set; }
        /// <summary>
        /// 职务
        /// </summary>
        [Display(Name = "职务")]
        public string JobTitle { get; set; }
        /// <summary>
        /// 婚姻状况
        /// </summary>
        [Display(Name = "婚姻状况")]
        public MasterDataDTO Married { get; set; }
        /// <summary>
        /// 学历
        /// </summary>
        [Display(Name = "学历")]
        public MasterDataDTO EducationalBackground { get; set; }
        /// <summary>
        /// 紧急联系人
        /// </summary>
        [Display(Name = "紧急联系人")]
        public string UrgentContact { get; set; }
        /// <summary>
        /// 紧急联系电话
        /// </summary>
        [Display(Name = "紧急联系电话")]
        public string UrgentPhone { get; set; }
        /// <summary>
        /// 任职状况
        /// </summary>
        [Display(Name = "任职状况")]
        public MasterDataDTO PostState { get; set; }

        /// <summary>
        /// 职称
        /// </summary>
        [Display(Name = "职称")]
        public MasterDataDTO Posttitle { get; set; }



        /// <summary>
        /// 备注
        /// </summary>
        [Display(Name = "备注"), DataType(DataType.MultilineText)]
        public string Remark { get; set; }


        /// <summary>
        /// 所属组织
        /// </summary>
        public virtual OrgDTO Org { get; set; }

        /// <summary>
        /// 岗位
        /// </summary>
        public virtual JobDTO Job { get; set; }
        /// <summary>
        /// 用户
        /// </summary>
        public virtual ICollection<UserDTO> Users { get; set; }
        /// <summary>
        /// 员工的组
        /// </summary>
        public virtual ICollection<GroupModel> Groups { get; set; }

        /// <summary>
        /// 业务组织结构
        /// </summary>
        public virtual ICollection<OrgForBusinessDTO> OrgForBusinesses { get; set; }

    }
}
